23

» Администрация XGM / Дата заданий

Похожие вопросы:

ответ
Я думаю стоит об этом спросить самого дока)
ответ
Обновил функционал в полной форме создания задачи + разлочил значение (кол-во часов)

23

» WarCraft 3 / Отображение юнита игрока

Похожие вопросы:

ответ
Можно выключить подсвечивание юнитов при наведении курсора:
call EnablePreSelect(false,false)
Имена игроков пропадут, но вместе с ними исченут имена самих юнитов и круги выделения под ними.
ответ
мне кажется то, что я хочу сделать невозможно из-за самого варика. так не было предназначено.
буду искать другой путь
ответ
Добавь компьютерного игрока на нужный слот
ответ
Steal nerves, насколько я понимаю, автору вопроса нужно совсем другое - он хочет чтобы у юнита было одновременно несколько улучшений на атаку, не важно откуда они берутся и даже не важно могут ли они быть активны одновременно. А проблема вся в циферке уровня улучшения на иконке атаки, которая начинает себя некорректно вести когда на атаку влияет больше одного улучшения.

можно просто исследование других рас насильно через триггер давать
Или создать копию улучшения для нейтралов и выдавать его триггерно при изучении родного, а циферку у юнита завязать именно на это улучшение. (одно улучшение для нейтралов, выдавать при изучении любого из соответствующих ему рассовых улучшений).
ответ
есть три события: начато исследование, отменено и завершено исследование.
запустить таймер в начале исследования. и из него узнать процент. есть нативки, позволяющие узнать: запущенное время, пройденное время и оставшее время до завершения
процент = пройденное время/запущенное время
при отмене или завершении удалить таймер
примерно как тут здесь даже проще, чем выяснить реальный процент стройки хуманов

23

» WarCraft 3 / Оптимизация.

Похожие вопросы:

ответ
Таких багов много, почему то оптимизатор берет данные из слк таблиц игры на часть объектов, пробуй wc3ultimate opt, на хайве выложена... Мб кто уже и новый виджитайзер запилил.
ответ
Закрываю вопрос
Нашел нормальный блокнот и через него отредактил
ответ
Тут скорее всего еще проблема с кодом карты, деоптимизаторы не восстанавливают данные на 100% и ошибки будут почти всегда, 100% рабочий способ - создавать объекты с нуля в карте руками, с теми же id и параметрами что в карте которую вы хотели восстановить...
ответ
В первую очередь, нужно выборочно оценивать и уменьшать размер текстур и количество мипмапов. Например, есть текстура кровли, которая в игре занимает существенную часть видимого пространства в декорациях, которая в целом как-то влияет своим качеством на восприятие картинки, и есть текстура какого-нибудь топорика, который держит в своих руках один из юнитов, и толком не разглядеть мелкие детали топорика. Но зачастую бывает так, что текстура топорика имеет размер 256х256 px, а текстура кровли 64х64 px.
Другой пример с иконками и другими элементами интерфейса, где не требуется более двух самых крупных мипмапов, а остальные можно благополучно удалить, т.к. оин почти ни при каких условиях не будут изображены.
Во-вторую очередь, нужно оптимизировать анимации нестандартных моделей юнитов. У нас до сих пор многие ничего не знают об этом, хотя уже есть инструмент, который делает это автоматически. Вот только Wiedzmin, автор тулзы пока ее не опубликовал, а пора бы дать всем ее пощупать.
Кроме оптимизации анимаций, следует применять все остальные способы, реализованные в mdlvis - это просто галочки, которые почистят прочий мусор, ничего сложного.
ответ
В Mdlvis используешь: Удаление свободных вершин, Удаление не связанных костей, Удаление ничейных КК, Линеаризация анимации. (настоятельно не рекомендую использовать параметр "Увеличение сжимаемости" как правило эта опция может удалять вершины тем самым испортив геометрию модели)
Переходим в Warcraft Model Editor, вкладка Редактировать-> Рассчитать границы
Сохраняем.
Как правило после расчета границ придется настраивать событийные объекты из за того что программа может сместить ключевые кадры, то есть нужно заново назначить им ключевые кадры например: следы от башмаков на земле должны быть видны только в анимации "Walk"
Переходим во вкладку Окна-> редактор узлов настраиваем видимость.
Сохраняем.
Опять открываем в WME сохраненную модель переходим во вкладку Менеджер текстур.
Там удаляем не используемые текстуры. Если не помнишь какие, то последовательно пытаешься удалить каждую текстуру, если WME ругается значит она используется если нет то ты нашел не нужную текстуру. Как правило после удаления поверхностей может остается ее анимация тут уже все ручками нужно удалять. Переходим во вкладку "Редактор анимации поверхности" и ищем не используемые удаляем.
Скачиваем MDX/M3 Optimizer c Хайва.
Разархивируем в отдельную папку, создаем там bat-ик, открываем блокнотом (перед этим копируем полный адрес папки, например: C:\Users\Asssssvi\Desktop\Warcraft Program\MDXM3 Optimizer)
вставляем следующее copt_win -p 32 -t 0.001 "адрес папки" и сохраняем.
скидываем в папку файл модели и перемещаем ее прямо на bat -ик должно получится "имя файла v2. mdx"
Этой программой мы удалили "бесполезные ключевые кадры" которые занимают лишнее(нет) место.
На этом в принципе все.
Помни что у каждой анимации должен быть первый и последний кадр(если кость была задействована в середине анимации и у нее будет отсутствовать начальный и последний кадр, то это будет ошибка, причем позиция и ротация точки это два разных параметра, то есть если ты изменил положение кости (переместил) то это перемещение должно иметь начальный и последний кадр так же и с ротацией они отдельны друг от друга, если этого нет, то анимация будет не коректно работать.
А на Хайвовском "Sanity test" будут сыпаться ошибки, кстати если все нормально то он должен показать серую надпись "Passed" то тогда можешь считать что она оптимизирована.

23

» WarCraft 3 / Почему может не работать триггер?

Похожие вопросы:

ответ
not_name:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
ответ
Предлагаю для начала разбить действие на кучу мелких. Все расчёты разбить на мелкие и разнести по переменным, выводя на экран. А там и видно будет, ибо на скрине даже не вся строка видна.
ответ
RobertStevenson, вейты вообще зло, а отсчёт можно сделать таймером. Точнее и без неожиданных багов.
Ждать пока - это вейт в цикле, работает это просто отвратно, сам с этим сталкивался. Лучше заменить на событие смерти колдуна.

Я всё же думаю, что дело не в вейтах. Выводи имя героя Hero[A]. Лучше выводить так: ("герой - ") + (Имя юнита (Hero[A])) + " " + (Число в строку (А)).
Если нет имени - героя просто нет в этой переменной.
ответ
Скорее всего условия не выполняются. Нужно выводить на экран сообщения и смотреть, какие вывелись.
ответ
Потому что предмет сначала удаляется. Его больше нет в слоте.
А потом спрашивается, сколько зарядов у предмета в слоте. Но там вообще нет предмета.

23

» WarCraft 3 / Как сделать такой триггер?

Похожие вопросы:

ответ
никак, ты говоришь о несовместимых модификаторах
ответ
Ну еще один вариант... Как я понял ты в начале игры выбираешь себе героя покупая в таверне. Так вот: Тебе понадобиться сделать 2 области.
И подставить свои значения в этот триггер (место Playble map area выбрать область в какую хочешь переместить героя)
Когда ты покупаешь героя он " входит в область" вокруг таверны (не забудь ее сделать).Дальше он перемещается в указанную тобой другую область (ее тоже не забудь). И я не добавил одно действие убить того кто покупал героя (у меня был светлячок).
Вроде бы все объяснил.
Если что не понятно пиши мне в ЛС.
ответ
Ну суть в том что при доведении здания до разрушения (смерти) оно переходит во владение тому игроку, который его и добил. Проще говоря - твой ластхит по вражескому зданию передаёт его тебе.
По-хорошему первое что надо сделать - запретить союзникам атаковать свои здания (или хотя бы столицы, о которых и идёт речь).
Второе - при получении зданием урона проверять кто его нанёс, если друг - отхиливать на весь урон, если враг - проверять не будет ли этот урон смертельным, и если ДА - давать столько хп, сколько надо что бы здание осталось в живых (обычно это урон + 1 хп). И при этом передавать юнита во владение тому игроку, который владеет юнитом который является источником этого урона.
По желанию можно отхилить здание полностью (на 100% своего хп)
ответ
PT153:
Есть. Условие -> сравнение целочисленной.
Можно скрин например?
решил логично поискать и нашёл.
ответ
Сделал сам

23

» WarCraft 3 / Помощь с условием тригера

Похожие вопросы:

ответ
Если по игроку то массив переменных по игроку, если прям каждого конкретного героя каждого игрока - то через custom value или прочий регистратор юнитов.
Чета типа так, для ознакомления с CV

23

» WarCraft 3 / Почему может не работать триггер?

Похожие вопросы:

ответ
not_name:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
ответ
Предлагаю для начала разбить действие на кучу мелких. Все расчёты разбить на мелкие и разнести по переменным, выводя на экран. А там и видно будет, ибо на скрине даже не вся строка видна.
ответ
RobertStevenson, вейты вообще зло, а отсчёт можно сделать таймером. Точнее и без неожиданных багов.
Ждать пока - это вейт в цикле, работает это просто отвратно, сам с этим сталкивался. Лучше заменить на событие смерти колдуна.

Я всё же думаю, что дело не в вейтах. Выводи имя героя Hero[A]. Лучше выводить так: ("герой - ") + (Имя юнита (Hero[A])) + " " + (Число в строку (А)).
Если нет имени - героя просто нет в этой переменной.
ответ
Скорее всего условия не выполняются. Нужно выводить на экран сообщения и смотреть, какие вывелись.

23

» WarCraft 3 / Проблема с уроном

Похожие вопросы:

ответ
Черная область за хп баром вроде свободно скейлится ибо просто черная текстура без анимаций. Изменение размера хп бара тоже вроде не багает (mdlvis нормально воспроизводит). Я так понял, правая грань хп бара привязана к кости, которая движется анимациями. Переведи в .mdl и пролистай на дно, там циферки очевидные :) Это должно покрыть все вопросы.
ответ
Ломается, потому что перезаписываются переменные. Используй локальные переменные. Вот ссылка на статью: xgm.guru/p/wc3/jass_local_vars.
ответ
Работает только оригинал , точнее с него настройки на все остальные идут клоны спелла, настройки смотри в опен доте, так то она работ, но вот орб и ннсовместтмость с другими пассивками, это не очень.
ответ
чесн, в этом триггере прекрасно все
от точки, которая создается, не используется, но удаляется
пика группы юнитов, которые все суммарно сколько их на карте нанесут бедной цели урон
и до атакованного юнита, которого вообще здесь не может быть)

что по сути, так я хз как можно прозевать "Цель способности", или как оно у вас называется в русифицированных триггерах. на стандартной версии это target of ability being cast
цикл здесь скорее всего не нужен, если конечно только смысл действительно в том что бы брать всех огров на карте и наносить цели урон.
ответ
Не вижу второй триггер но увидев первый, думаю что событие накладывается много раз, поэтому много лечения

23

» Администрация XGM / Вставка изображений создаёт миниатюру вначале текста

Похожие вопросы:

ответ
Эта функция не требуется и даже будет вредить. Загружайте скриншоты для комментариев на сторонние хостинги, по возможности.
ответ
Исправлено

23

» WarCraft 3 / Почему может не работать триггер?

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
not_name:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
ответ
Предлагаю для начала разбить действие на кучу мелких. Все расчёты разбить на мелкие и разнести по переменным, выводя на экран. А там и видно будет, ибо на скрине даже не вся строка видна.
ответ
RobertStevenson, вейты вообще зло, а отсчёт можно сделать таймером. Точнее и без неожиданных багов.
Ждать пока - это вейт в цикле, работает это просто отвратно, сам с этим сталкивался. Лучше заменить на событие смерти колдуна.

Я всё же думаю, что дело не в вейтах. Выводи имя героя Hero[A]. Лучше выводить так: ("герой - ") + (Имя юнита (Hero[A])) + " " + (Число в строку (А)).
Если нет имени - героя просто нет в этой переменной.

23

» WarCraft 3 / Сейв Лоад

Похожие вопросы:

ответ
а давай ты используешь поиск, сам найдешь решение, разберешься, а мы тебе
спасибо и 2 "лайка"
ответ
Вот, должно помочь, но конечно, если героев несколько, то переменная перезаписывается.
ответ
~8gabriel8:
Проверяешь циклом от 1 до длины строки по символу в строке, когда попадётся решётка, то делаешь Substring этого куска и продолжаешь, следующий Substring прибавится к предыдущему. Просто посиди и спокойно подумай, как это можно реализовать, скорее всего первый вариант у тебя будет использовать массу переменных, после этого спокойно прикинь, как можно свести использование переменных до минимума. Это на самом деле простой алгоритм, просто крупный, а следовательно муторный.

Не разбирал статью, но когда расшифровывал систему кодов в какой-то карте, то именно так и было там сделано, что малая часть символов содержат информацию, а остальное мусор для массивности, который имитирует зашифорванность, чтобы данные не были очевидны.

23

» WarCraft 3 / Таблица рекордов

Похожие вопросы:

ответ
Так?
ответ
количество ресурсов хранить в переменных
при получении приказа постройки здания проверять достаточно ли ресурсов
если не достаточно то отдать триггерному юниту приказ стоп и вывести на экран сообщение "недостаточно ресурсов"
со всем остальным аналогично
ответ
ScopteRectuS:
awesomesk1ll, именно таблицы рекордов и окна таймера нет в игровом интерфейсе. думаю, что нужно при импорте сразу указать путь, а не в игровом интефейсе.
Именно их может и не быть, фон для подобных окон задается один общий для нескольких элементов. (окно чата F12, окно союзников F11, окно ожидания игрока, когда он лагает, окно когда соединение прервано например ещё). Аналогично и с рамкой. Более точнее вечером сориентировать смогу только.
Лови. Как я и писал выше, учти что меняется не только это окошко.
ответ
Да, возможно. Создать несколько мультбоардом и показывать их через GetLocalPlayer

23

» WarCraft 3 / Непонятная проблема

Похожие вопросы:

ответ
EvilPenguin, я посмотрел модель, там в анимации поверхностей были изменения цвета.
Удалил на фиг - и всё стало показывать правильно.
FrigatPlay, закрой вопрос уже)
ответ
Slice_Of_Spice:
ssbbssc, понятия не имею, почему он так обозвал экзешник редактора. Может из-за ЖНГП. Если ты про версию варика, то она 1.26.
С другими моделями всё ок? Если да, то копай модель, нарушил правила какие-то. Пересобери её заного)
ответ
Попробуй конвертировать через war3 image extracror, а в фш сохрани картинку как 32 битную. Ну и разумеется разрешение 512х512
Когда будешь вставлять в карту, закинь картинку в мапу , а еще тебе понадобится LoadScreen.mds. В свойствах карты на загрузочный экран установишь LoadScreen.mdx, ну это я так, на всякий случай. Саму картинку нужно назвать FullScreen.blp
ответ
>>Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь).
Мб где-то слетела бж функция GetConvertedPlayerID и изза этого цифорки поломались
Тык
function GetConvertedPlayerId takes player whichPlayer returns integer
    return GetPlayerId(whichPlayer) + 1
endfunction

23

» WarCraft 3 / Баг на карте warcraft 3 классика

Похожие вопросы:

ответ
да какой то баг скорее всего, у кого то даже фаталы есть что когда запускаешь тест мапы и дерутся юниты - вылетает все (у меня такое же есть). А в обычном мили все норм

23

» WarCraft 3 / Вопрос по триггерам Warcraft 3

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
Закрыто.
ответ
~8gabriel8:
Каждый вопрос заслуживает отдельного обсуждения, а на все стало лень ответ печатать, когда начал.
Печатать реально долго, легче было реализовать примеры в карте:
Кроме последнего пункта, его нужно персонально рассматривать, так как игра не подразумевает использование для юнита двух списков. Например, можно наполнить список построек у юнита всеми зданиями, часть из которых блокировать при открытии одного списка и разблокировать при открытии второго, но это подходит, когда один рабочий. Можно сделать второй список из книги заклинаний, куда добавлены способности на основе игрушечных строений, чтобы было видно карту пути и всё такое, но там для них используется один приказ, то есть всегда одинаковое здание будет при нажатии на любую способность, а ещё нет стоимости золота и дерева, что тоже придётся как-то ваять триггерно. Можно перевоплощать юнита при смене списка в другого, но там тоже сложности, не помню точно какие, вроде бы связаны с расой, так как все строят по-разному.

С точкой сбора всё просто. Способность у игрока не заблокировать, потому нужно забрать её у всех зданий, которые есть на карте, либо будут построены.

Группа из максимум 9 юнитов работает немножко коряво, ранее мы с PT153 находили какой-то вариант, чтобы работало быстро, но лень пользоваться поиском. Вроде каждую 0.01 секунду проверялось количество выбранных юнитов, лишние удалялись из выбора.

Чтобы не было очереди, пришёл в голову лишь вариант с апгрейдом здания. Но у меня реализован просто пример для одного конкретного здания, а для нескольких абстрактных зданий нужно делать текстовым триггером, который будет для каждого здания запускать локальный таймер на нужное время и добавлять анимационный текстаг work. По отмене апгрейда, либо истечению таймера анимационный тег удаляется и создаётся воин, к которому привязывается соответствующий звук. Но есть и другие варианты, типа создавать внутри здания другое, которое реально будет производить юнитов, когда заказал апгрейд, там иная реализация. И не упомянул про затрачиваемые ресурсы. Потребуется забирать/возвращать часть ресурсов при отмене апгрейда.

На примере триггеров и фиолетовых строк в редакторе объектов смотри, как сделано улучшение Бугая в Дренорского бугая.

Конечно, мог бы сделать MUI триггер на GUI для отсутствия очереди, но это было бы громоздко и в техническом смысле уродливо. производящие здания заносились бы в массив, для которого будет массив таймеров, которые будут заноситься в виде событий на истечение таймера в другой триггер, а точнее будет несколько массивов таймеров, по максимальному числу тренируемых юнитов в любом производящем здании.

Нашёл твои вопросы:
В них бы и спрашивал, что непонятно. А то тебе отвечают, а ты игнорируешь, словно очень умный.
Тебе даже вариант без триггеров для четвёртого пункта сделали: xgm.guru/p/wc3/230191/comments?postid=426457#comment5
ответ
Модуль вопросов существует для вопросов, а не для просьб сделать все за вас.

23

» WarCraft 3 / Создание юнитов через здание

Похожие вопросы:

ответ
Урон настраивается через уровень способности, или как было сказано unit - damage target
команда для использования нестандартной способности берется от той способности, на основе которой ты её сделал, и если это цепь тралла - Unit - issue order with targetign a unit - orc - chain lighting
ответ
Измени скорость игры и удлини игровой день, насколько я помню он тоже ускоряется при изменении скорости, хотя я могу ошибаться - лучше проверить
ответ
Скорее всего кривая модель, к автору нужно обратится.
ответ
Есть другой способ скрыть ВСЕ кнопки.
Buttonpos=0,-11
не обязательно юзать текстовик, чтобы скрыть меню, можно попробовать в самих абилках "строительство" задать положение x,y - 'AHbu'/'AObu'/'AUbu'/'AEbu'/'AGbu'/'ANbu'

23

» WarCraft 3 / Эффект яда

Похожие вопросы:

ответ
Ну тег цвета перед названием способности.
Например, |cffff0000Повреждающий бафф|r или |cff00ff00Полезный бафф|r.
ответ
создать другой бафф
Раздел "заклинания".
ответ
Пункт " убить боевую единицу" отвечает за то сможет ли урон от яда убить Юнита, если флаг не установлен то у Юнита останется 1-2 хп. Но яд не может его убить.
Разумеется не работают яд. Стрелы на маг иммунитет, ибо это активный автокаст.
Чтобы автокаст стрелы работали на маг. Имун нужно чтобы способность относилась к герою, требуемый для изучения уровень был выше 1. Вот и все.
ответ
Просто для информации, судя по самому баффу - это таймер длительности, вероятно близзарды хотели сделать таймер длительности, но передумали.
ответ
Делать триггерные аналоги, это орбы, они на уровне движка
Есть там некоторые типы эффектов, которые стакаются
xgm.guru/p/wc3/attackmod в общем вот

23

» WarCraft 3 / Что не так с отрядом

Похожие вопросы:

ответ
www.wc3c.net/tools/specs тут есть
NEW Frozen Throne expansion pack format of "war3map.w3u / w3t / w3b / w3d / w3a / w3h / w3q" The object data files (thanks PitzerMike):
ответ
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_ADVANCED_CONTROL, false)
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, false)
Это отнимает у игрока красного контроль над его юнитами. Это почти нейтральный. Быть может это просто невозможно сделать таким способом. Так как переключаться можно только между ПОДКОНТРОЛЬНЫМИ юнитами. Есть идея на случай если тебе нужен только 1 юнит с 12 способностями, хотя думаю нету смысла объяснять.
ответ
Группы юнитов + хэш или структуры. При касте спелла берешь кастера, берешь его ID, проверяешь не записана ли группа в какой-либо из ячеек. Если нет - создаешь группу и записываешь её в ячейку. При смерти юнита делаешь проверку не записана ли по его ID группа юнитов - если записана - удаляешь его и проверяешь количество юнитов в группе и если оно равно 0 - удаляешь группу. Естественно хэш тоже чистишь всюду где нужно.

Это звучит как "Сделайте мне пожалуйста систему формаций". Чтобы научить тебя как это сделать придётся потратить несколько десятков часов. И тут 2 варианта: либо ты будешь читать статьи и выучишь всё сам, либо обращайся к отдельным пользователям и проси о приватных, платных, уроках в частном порядке.
Вопрос вообще ни о чём. То, о чём ты спрашиваешь делается за 20-30 минут + несколько часов на всякие плюшки и дебаг (в худшем случае).
Конкретно тебе стоит почитать о Локальных переменных, Хэше или Структурах.
ответ
Сначало создай юнит без москиты потом его в группу дай а после чего дай маскит ему и все
ответ
на каждый снаряд делаешь группу, в нее заносишь всех кто был поражен
done